#include <fmt/format.h>
#include <string>
#include <stdint.h>
#include <vector>
#include <iostream>

int main(int argn, char* argc[])
{
    typedef fmt::format_context ctx;
    std::vector<fmt::basic_format_arg<ctx>> args;
    args.emplace_back(fmt::internal::make_arg<ctx>(42));
    args.emplace_back(fmt::internal::make_arg<ctx>("abc1"));
    args.emplace_back(fmt::internal::make_arg<ctx>(1.5f));

    std::string result = fmt::vformat(
        "{} and {} and {}", fmt::basic_format_args<ctx>(
            args.data(), static_cast<int>(args.size())));

    std::cout << result << "\n";
	return 0;
}
